@echo off
chcp 65001 >nul
pushd %~dp0
echo ==========================================
echo 家庭点餐系统虚拟环境设置脚本
echo ==========================================

echo 正在检查Python环境...
python --version >nul 2>&1
if %errorlevel% neq 0 (
    echo 未检测到Python环境，请先安装Python 3.8+
    pause
    exit /b
)

echo 正在创建虚拟环境...
python -m venv venv
if %errorlevel% neq 0 (
    echo 创建虚拟环境失败
    pause
    exit /b
)

echo 虚拟环境创建成功！

echo 正在激活虚拟环境...
call venv\Scripts\activate.bat
if %errorlevel% neq 0 (
    echo 激活虚拟环境失败
    pause
    exit /b
)

echo 虚拟环境已激活: %VIRTUAL_ENV%

echo 正在安装依赖...
pip install -r requirements.txt
if %errorlevel% neq 0 (
    echo 安装依赖失败
    pause
    exit /b
)

echo 正在确保SQLAlchemy版本兼容...
pip install SQLAlchemy==1.4.46
if %errorlevel% neq 0 (
    echo 安装SQLAlchemy失败
    pause
    exit /b
)

echo 正在确保Werkzeug版本兼容...
pip install Werkzeug==2.0.1
if %errorlevel% neq 0 (
    echo 安装Werkzeug失败
    pause
    exit /b
)

echo 依赖安装完成！

echo 正在测试模型...
python test_models.py
if %errorlevel% neq 0 (
    echo 模型测试失败
    pause
    exit /b
)

echo 正在测试数据库连接...
python test_db.py
if %errorlevel% neq 0 (
    echo 数据库连接测试失败
    pause
    exit /b
)

echo 正在测试模型to_dict方法...
python test_to_dict.py
if %errorlevel% neq 0 (
    echo 模型to_dict方法测试失败
    pause
    exit /b
)

echo 正在测试菜品数据...
python test_dish_data.py
if %errorlevel% neq 0 (
    echo 菜品数据测试失败
    pause
    exit /b
)

echo 菜品数据测试通过！

echo.
echo 虚拟环境设置完成！
echo.
echo 如需手动激活虚拟环境，请运行:
echo   call venv\Scripts\activate.bat
echo.
echo 如需退出虚拟环境，请运行:
echo   deactivate
echo.
pause
popd